package cn.signalpha.modules.social.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 数据传输对象实体类
 *
 * @author signalpha
 */
@Data
@ApiModel(value = "CommentDTO对象", description = "评论")
public class CommentDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	@NotNull
    @ApiModelProperty(value = "实体id")
    private Long targetId;
	@NotNull
	@ApiModelProperty(value = "实体类型：1主题 2评论")
	private Integer targetType;
	@NotBlank
	@ApiModelProperty(value = "评论内容")
	private String content;
	@ApiModelProperty(value = "扩展")
	private String extend;
	@ApiModelProperty(value = "城市", hidden = true)
	private String city;


	@Data
	public static class ReplyTO implements Serializable {
		private static final long serialVersionUID = 1L;
		@NotNull
		@ApiModelProperty(value = "主键")
		private Long id;
		@NotNull
		@ApiModelProperty(value = "评论内容")
		private String content;
		@ApiModelProperty(value = "扩展参数")
		private String extend;
		@ApiModelProperty(value = "城市")
		private String city;
	}

	@Data
	public static class IsShowDTO implements Serializable {
		private static final long serialVersionUID = 1L;
		@NotBlank
		@ApiModelProperty(value = "主键,批量操作逗号分隔主键")
		private String id;
		@NotNull
		@ApiModelProperty(value = "是否显示：0否 1是")
		private Integer isShow;
	}

	@Data
	public static class IsTopDTO implements Serializable {
		private static final long serialVersionUID = 1L;
		@NotBlank
		@ApiModelProperty(value = "主键,批量操作逗号分隔主键")
		private String id;
		@NotNull
		@ApiModelProperty(value = "是否置顶：0否 1是")
		private Integer isTop;
	}

	@Data
	public static class AuditDTO implements Serializable {
		private static final long serialVersionUID = 1L;
		@NotBlank
		@ApiModelProperty(value = "主键,批量操作逗号分隔主键")
		private String id;
		@NotNull
		@ApiModelProperty(value = "状态：-1不通过 1通过")
		private Integer status;
		@ApiModelProperty(value = "审核备注")
		private String remark;
	}
}
